import { createRouter, createWebHistory } from 'vue-router'
import { useUserStore } from '@/store/user'

// 导入各模块路由
// import cardRoutes from './card'
// import mediationRoutes from './mediation'
// import noticeRoutes from './notice'
import storeRoutes from './store'
// import agreementRoutes from './agreement'
// import demoRoutes from './demo'

/**
 * 路由配置
 * 整合所有模块路由，设置路由守卫和权限控制
 */
const routes = [
  {
    path: '/',
    redirect: '/home'
  },
  {
    path: '/home',
    name: 'Home',
    component: () => import('@/views/home/index.vue'),
    meta: {
      title: '首页',
      keepAlive: true
    }
  },
  // {
  //   path: '/scan',
  //   name: 'Scan',
  //   component: () => import('@/views/scan/index.vue'),
  //   meta: {
  //     title: '扫描'
  //   }
  // },
  // {
  //   path: '/filepreview',
  //   name: 'FilePreview',
  //   component: () => import('@/views/filepreview/index.vue'),
  //   meta: {
  //     title: '文件预览'
  //   }
  // },
  // 卡片管理路由
  // ...cardRoutes,
  // 调解服务路由
  // ...mediationRoutes,
  // 通知公告路由
  // ...noticeRoutes,
  // 商店管理路由
  ...storeRoutes,
  // 协议路由
  // ...agreementRoutes,
  // 演示路由
  // ...demoRoutes,
  // {
  //   path: '/:pathMatch(.*)*',
  //   name: 'NotFound',
  //   component: () => import('@/views/404.vue'),
  //   meta: {
  //     title: '页面不存在'
  //   }
  // }
]

/**
 * 创建路由实例
 */
const router = createRouter({
  history: createWebHistory(),
  routes,
  scrollBehavior(to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition
    } else {
      return { top: 0 }
    }
  }
})

/**
 * 路由前置守卫
 * 处理页面标题设置和权限验证（暂时注释掉token验证）
 */
router.beforeEach((to, from, next) => {
  // 设置页面标题
  if (to.meta.title) {
    document.title = to.meta.title + ' - 基金监管H5'
  }

  // 权限验证（暂时注释掉）
  // const userStore = useUserStore()
  // const token = userStore.token
  
  // 需要登录的页面
  const requireAuth = to.matched.some(record => record.meta.requireAuth)
  
  if (requireAuth) {
    // if (!token) {
    //   // 跳转到登录页面
    //   next('/login')
    //   return
    // }
    console.log('需要登录验证的页面，暂时跳过token验证')
  }

  next()
})

/**
 * 路由后置守卫
 */
router.afterEach((to, from) => {
  // 可以在这里添加页面访问统计等逻辑
  console.log(`路由跳转: ${from.path} -> ${to.path}`)
})

export default router